#ifndef QUEUE_H
#define QUEUE_H

#include "Customer_Obj.h"
#include "sync.h"

class queue{
      
     public:
            queue();
            bool enqueue(Customer_Obj customer);
            Customer_Obj dequeue();
            bool isEmpty();
            bool isFull();
            int getCurrentSize();
            int getMaxSize();
            int getMaxWait();
            int getAvgWait();
            int getNumProcessed();
            void set_sync(sync *sync_object);
            Customer_Obj peek();
            

     private:
             Customer_Obj *queue_data;
             //Customer_Obj queue_data[1000];
             int waitTime[800];
             int maxSize;
             int numUsed;
             int maxWait;
             int avgWait;
             int numProcessed;
             int waitTimeAvg[800];
             sync *sync_obj;
             
};

#endif
